package model;

import java.util.HashMap;

import cc.test.bridge.BudgetInterface;
import cc.test.bridge.LineInterface;
import cc.test.bridge.SublineInterface;
import cc.test.bridge.TransactionInterface;

public class Hampers
{
	protected static HashMap<Integer, BudgetInterface> budgetCreates = new HashMap<Integer, BudgetInterface>();
	protected static HashMap<Integer, BudgetInterface> budgetUpdates = new HashMap<Integer, BudgetInterface>();
	protected static HashMap<Integer, BudgetInterface> budgetDeletes = new HashMap<Integer, BudgetInterface>();

	protected static HashMap<Integer, LineInterface> lineCreates = new HashMap<Integer, LineInterface>();
	protected static HashMap<Integer, LineInterface> lineUpdates = new HashMap<Integer, LineInterface>();
	protected static HashMap<Integer, LineInterface> lineDeletes = new HashMap<Integer, LineInterface>();

	protected static HashMap<Integer, SublineInterface> sublineCreates = new HashMap<Integer, SublineInterface>();
	protected static HashMap<Integer, SublineInterface> sublineUpdates = new HashMap<Integer, SublineInterface>();
	protected static HashMap<Integer, SublineInterface> sublineDeletes = new HashMap<Integer, SublineInterface>();

	protected static HashMap<Integer, TransactionInterface> transCreates = new HashMap<Integer, TransactionInterface>();
	protected static HashMap<Integer, TransactionInterface> transUpdates = new HashMap<Integer, TransactionInterface>();
	protected static HashMap<Integer, TransactionInterface> transDeletes = new HashMap<Integer, TransactionInterface>();

	/**
	 * Clears all of the create hampers
	 */
	public static void clearCreates()
	{
		budgetCreates.clear();
		lineCreates.clear();
		sublineCreates.clear();
		transCreates.clear();
	}

	/**
	 * Clears all of the update hampers
	 */
	public static void clearUpdates()
	{
		budgetUpdates.clear();
		lineUpdates.clear();
		sublineUpdates.clear();
		transUpdates.clear();
	}

	/**
	 * Clears all of the delete hampers
	 */
	public static void clearDeletes()
	{
		budgetDeletes.clear();
		lineDeletes.clear();
		sublineDeletes.clear();
		transDeletes.clear();
	}

	/**
	 * Getter for budgetCreates
	 * 
	 * @return The HashMap<Integer, BudgetInterface> containing the budgetCreates
	 */
	public static HashMap<Integer, BudgetInterface> getBudgetCreates()
	{
		return budgetCreates;
	}

	/**
	 * Setter for budgetCreates
	 * 
	 * @param budgetCreates, a HashMap<Integer, BudgetInterface> 
	 */
	public static void setBudgetCreates(
			HashMap<Integer, BudgetInterface> budgetCreates)
	{
		Hampers.budgetCreates = budgetCreates;
	}

	/**
	 * Getter for budgetUpdates
	 * 
	 * @return The HashMap<Integer, BudgetInterface> containing the budgetUpdates
	 */
	public static HashMap<Integer, BudgetInterface> getBudgetUpdates()
	{
		return budgetUpdates;
	}

	/**
	 * Setter for budgetUpdates
	 * 
	 * @param budgetUpdates, a HashMap<Integer, BudgetInterface> 
	 */
	public static void setBudgetUpdates(
			HashMap<Integer, BudgetInterface> budgetUpdates)
	{
		Hampers.budgetUpdates = budgetUpdates;
	}

	/**
	 * Getter for budgetDeletes
	 * 
	 * @return The HashMap<Integer, BudgetInterface> containing the budgetDeletes
	 */
	public static HashMap<Integer, BudgetInterface> getBudgetDeletes()
	{
		return budgetDeletes;
	}

	/**
	 * Setter for budgetDeletes
	 * 
	 * @param budgetDeletes, a HashMap<Integer, BudgetInterface> 
	 */
	public static void setBudgetDeletes(
			HashMap<Integer, BudgetInterface> budgetDeletes)
	{
		Hampers.budgetDeletes = budgetDeletes;
	}

	/**
	 * Getter for lineCreates
	 * 
	 * @return The HashMap<Integer, LineInterface> containing the lineCreates
	 */
	public static HashMap<Integer, LineInterface> getLineCreates()
	{
		return lineCreates;
	}

	/**
	 * Getter for lineUpdates
	 * 
	 * @return The HashMap<Integer, LineInterface> containing the lineUpdates
	 */
	public static HashMap<Integer, LineInterface> getLineUpdates()
	{
		return lineUpdates;
	}

	/**
	 * Getter for lineDeletes
	 * 
	 * @return The HashMap<Integer, LineInterface> containing the lineDeletes
	 */
	public static HashMap<Integer, LineInterface> getLineDeletes()
	{
		return lineDeletes;
	}

	/**
	 * Getter for sublineCreates
	 * 
	 * @return The HashMap<Integer, SublineInterface> containing the sublineCreates
	 */
	public static HashMap<Integer, SublineInterface> getSublineCreates()
	{
		return sublineCreates;
	}

	/**
	 * Getter for sublineUpdates
	 * 
	 * @return The HashMap<Integer, SublineInterface> containing the sublineUpdates
	 */
	public static HashMap<Integer, SublineInterface> getSublineUpdates()
	{
		return sublineUpdates;
	}

	/**
	 * Getter for sublineDeletes
	 * 
	 * @return The HashMap<Integer, SublineInterface> containing the sublineDeletes
	 */
	public static HashMap<Integer, SublineInterface> getSublineDeletes()
	{
		return sublineDeletes;
	}

	/**
	 * Getter for transCreates
	 * 
	 * @return The HashMap<Integer, TransactionInterface> containing the transCreates
	 */
	public static HashMap<Integer, TransactionInterface> getTransCreates()
	{
		return transCreates;
	}

	/**
	 * Getter for transUpdates
	 * 
	 * @return The HashMap<Integer, TransactionInterface> containing the transUpdates
	 */
	public static HashMap<Integer, TransactionInterface> getTransUpdates()
	{
		return transUpdates;
	}

	/**
	 * Getter for transDeletes
	 * 
	 * @return The HashMap<Integer, TransactionInterface> containing the transDeletes
	 */
	public static HashMap<Integer, TransactionInterface> getTransDeletes()
	{
		return transDeletes;
	}

}
